Skip to content

Ensure compatibility with MongoDB Driver 5.x #4624

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 23 commits into from
Closed

Conversation

christophstrobl
Copy link
Member

@christophstrobl christophstrobl commented Jan 26, 2024

This PR contains changes that allow to build and run against MongoDB 5.0 Java Driver.

Code paths accessing changed/removed API are called reflectively to avoid compile and runtime linking errors.
Invalid calls will raise errors hinting to removed API with the new driver when invoked at runtime.

christophstrobl and others added 21 commits January 23, 2024 11:22
Move into util package. Remove circular dependencies, add nullability annotations, fix Javadoc.
Add missing Override annotations.
Register hints during AOT computation required for reflective access on MongoDB driver API via the ComptatibilityAdapter.
Along the way also introduce JUnit extensions allowing declarative class path exclusions for tests.
GeospatialIndexed defaults the bucketSize to 1.0 which is no longer supported for MongoDB 5 clients.
In case the default is used with the new driver the index resolver will log an info message and proceed without setting the value.
Yeah, changed dependencies, no need to test that - right gradle?
@christophstrobl christophstrobl linked an issue Jan 26, 2024 that may be closed by this pull request
mp911de pushed a commit that referenced this pull request Jan 26, 2024
We now are compatible with MongoDB driver versions 4 and 5. Driver versions can be interchanged and our adapter bridges changed methods via reflection. Usage of removed functionality is either ignored or fails with an exception.

Original pull request: #4624
Closes: #4578
mp911de added a commit that referenced this pull request Jan 26, 2024
Move into util package. Remove circular dependencies, add nullability annotations, fix Javadoc.

Original pull request: #4624
See: #4578
mp911de pushed a commit that referenced this pull request Jan 26, 2024
Original pull request: #4624
Closes: #4623
mp911de added a commit that referenced this pull request Jan 26, 2024
Reformat code. Add missing hints for reflective version detection.

Original pull request: #4624
See: #4578
mp911de pushed a commit that referenced this pull request Jan 26, 2024
Original pull request: #4624
See: #4578
mp911de added a commit that referenced this pull request Jan 26, 2024
Original pull request: #4624
Closes: #4623
@mp911de mp911de changed the title Build against MongoDB Java Driver 5.0 Ensure compatibility with MongoDB Driver 5.x Jan 26, 2024
@mp911de mp911de added the type: enhancement A general enhancement label Jan 26, 2024
@mp911de mp911de closed this Jan 26, 2024
@mp911de mp911de deleted the issue/4578 branch January 26, 2024 13:40
@mp911de mp911de added this to the 4.3 M1 (2024.0.0) milestone Jan 26, 2024
mp911de added a commit that referenced this pull request Jan 26, 2024
Reformat code. Add missing hints for reflective version detection.

Original pull request: #4624
See: #4578
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: enhancement A general enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Ensure compatibility with MongoDB Driver 5.x
2 participants